\section*{Capa de Dominio}
Esta capa será la encargada de gestionar la parte de negociación con
la capa de persistencia.

Las clases implementadas en esta capa son:

\begin{enumerate}
\item \textbf{\textit{Usuario}}
  \begin{itemize}
  \item \underline{Atributos}:\\
    email: identificador del usuario.\\
    password: clave de acceso del usuario (puede ser null si el
    usuario no está registrado)\\
    direccion: dirección postal del usuario (también puede ser null)\\
    alta: boolean que indica si el usuario está registrado o no. \\
    administrador: boolean que indica si el usuario es administrador o
    tan solo cliente.\\
  \item  \underline{Métodos}:\\
    Usuario: constructor.\\
    insertUsuario: solicita incluir usuario en la base de datos.\\
    bajaUsuario: solicita eliminar usuario de la base de datos.\\
    validarUsuario: comprobar si el usuario está registrado.\\
    updateUsuario: actualizar los datos del usuario.
  \end{itemize}

\item \textbf{\textit{Carrito}}
\begin{itemize}
  \item \underline{Atributos}:\\
    importe: precio total de los artículos incluidos en el carrito.\\
  \item \underline{Métodos}:\\
    addArticulo: añade un artículo al carrito.\\
    articuloEnCarrito: si el artículo ya está en el carrito incrementa
    el número de unidades en él.\\
    doPedido: se acepta el contenido del carrito como dedido formal
    para procesar.
  \end{itemize}

\item \textbf{\textit{Articulo}}
\begin{itemize}
  \item \underline{Atributos}:\\
    referencia: entero que se utilizará de identificador.\\
    nombre: indica un nombre más descriptivo del artículo.\\
    precio: precio de venta del artículo.\\
    descripción: comentario descriptivo del artículo.\\
    cantidad: número de existencias de este producto en el almacén.\\
    alta: indica si el producto está o no registrado en la base de datos.\\
  \item \underline{Métodos}:\\
    isertArticulo: solicita incluir el artículo en la base de datos.\\
    modificarArticulo: solicita actualizar los atributos del artículo.\\
    buscarArtículo: indicando el nombre se muestra el resto de
    atributos del artículo previa solicitud de búsqueda de este en la base de datos.
  \end{itemize}

\item \textbf{\textit{Pedido}}
\begin{itemize}
  \item \underline{Atributos}:\\
    id: identificador del pedido.\\
    fecha: fecha en la que se realizó el pedido.\\
    estado: el pedido puede estar en estado de espera de pago,
    proceso o envío.\\
    importe: precio total del pedido.\\
    alta: indica si el pedido ya está procesado y entregado.\\
  \item \underline{Métodos}:\\
    insertPedido: solicita incluir el pedido en la base de datos.\\
    readPedido: muestra los datos de un pedido indicado.\\
    updateEstadoPedido: actualiza el estado del pedido.
  \end{itemize}

\item \textbf{\textit{BuscarArticulos}}
\begin{itemize}
  \item \underline{Atributos}:\\
  \item \underline{Métodos}:\\
  buscarArticulos: busca una lista de artículos que estén dentro de
  una categoría indicado.\\
  buscaUnArticulo: busca un artículo determinado por referencia.
  \end{itemize}

\end{enumerate}
